package fun.coding.string;

import java.util.ArrayList;

public interface StringManipulation {

	/**
	 * Returns the first non-repeated char in a string
	 * @param s
	 * @return 0 if all the chars are redundant
	 */
	public char findFirstNonRepeatedChar(String s);
	
	public String removeSpaceFromString(String s);
	
	public String removeDuplicateOrdered(String s);
	
	public String removeString(String src, String remove);
	
	public String revertString(String s);
	
	public String revertStringWord(String s);
	
	public void printDiffPositionBetweenTwoStrings(String s1, String s2);
	
	public ArrayList<String> anagrams(String[] strs);
	
	public String strStr(String haystack, String needle);
	
	public String addTwoStrings(String s1, String s2);
	
	public ArrayList<String> findAllSubSets(String s);
	
	public boolean isSameCharSet(String s1, String s2);
	
	public ArrayList<String> parseIPNoDot(String ip);
	
	public ArrayList<String> parseIPNoDotRecursive(String ip);
	
	public boolean isPalindrome(String s);
	
	public boolean isEncodedStringExist(String[] s, String target);
	
	public String longestPalindrome(String s);
	
	public int findFirstMatchingWord(String s, String p);
	
	public String intToString(int n);
	
}
